<!-- HTML header for doxygen 1.8.13-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.13"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>MTB CAT1 Peripheral driver library: GPIO Functions</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen_style.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><a href="http://www.cypress.com/"><img alt="Logo" src="IFXCYP_one-line.png"/></a></td>
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">MTB CAT1 Peripheral driver library</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('group__group__gpio__functions__gpio.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">GPIO Functions<div class="ingroups"><a class="el" href="group__group__gpio.html">GPIO         (General Purpose Input Output)</a> &raquo; <a class="el" href="group__group__gpio__functions.html">Functions</a></div></div>  </div>
</div><!--header-->
<div class="contents">
<a name="details" id="details"></a><h2 class="groupheader">General Description</h2>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:ga8d7972a161fe097a01a55f9cd31b1f03"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__gpio__functions__gpio.html#ga8d7972a161fe097a01a55f9cd31b1f03">Cy_GPIO_SetAmuxSplit</a> (cy_en_amux_split_t switchCtrl, <a class="el" href="group__group__gpio__enums.html#gaf794ce2cae36756be0cccfcd2c6ab077">cy_en_gpio_amuxconnect_t</a> amuxConnect, <a class="el" href="group__group__gpio__enums.html#gae2449cca47330934a26281d8f3cba110">cy_en_gpio_amuxselect_t</a> amuxBus)</td></tr>
<tr class="memdesc:ga8d7972a161fe097a01a55f9cd31b1f03"><td class="mdescLeft">&#160;</td><td class="mdescRight">Configure a specific AMux bus splitter switch cell into a specific configuration.  <a href="#ga8d7972a161fe097a01a55f9cd31b1f03">More...</a><br /></td></tr>
<tr class="separator:ga8d7972a161fe097a01a55f9cd31b1f03"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga52c69476c1755f4d60b491862f10f68c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__group__gpio__enums.html#gaf794ce2cae36756be0cccfcd2c6ab077">cy_en_gpio_amuxconnect_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__gpio__functions__gpio.html#ga52c69476c1755f4d60b491862f10f68c">Cy_GPIO_GetAmuxSplit</a> (cy_en_amux_split_t switchCtrl, <a class="el" href="group__group__gpio__enums.html#gae2449cca47330934a26281d8f3cba110">cy_en_gpio_amuxselect_t</a> amuxBus)</td></tr>
<tr class="memdesc:ga52c69476c1755f4d60b491862f10f68c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the configuration of a specific AMux bus splitter switch cell.  <a href="#ga52c69476c1755f4d60b491862f10f68c">More...</a><br /></td></tr>
<tr class="separator:ga52c69476c1755f4d60b491862f10f68c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3d44507453ea90abde3013c1ac867df8"><td class="memItemLeft" align="right" valign="top">__STATIC_INLINE uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__gpio__functions__gpio.html#ga3d44507453ea90abde3013c1ac867df8">Cy_GPIO_Read</a> (<a class="el" href="struct_g_p_i_o___p_r_t___type.html">GPIO_PRT_Type</a> *base, uint32_t pinNum)</td></tr>
<tr class="memdesc:ga3d44507453ea90abde3013c1ac867df8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads the current logic level on the input buffer of the pin.  <a href="#ga3d44507453ea90abde3013c1ac867df8">More...</a><br /></td></tr>
<tr class="separator:ga3d44507453ea90abde3013c1ac867df8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga849c813d6771bf8d3c59b89b28a07bca"><td class="memItemLeft" align="right" valign="top">__STATIC_INLINE void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__gpio__functions__gpio.html#ga849c813d6771bf8d3c59b89b28a07bca">Cy_GPIO_Write</a> (<a class="el" href="struct_g_p_i_o___p_r_t___type.html">GPIO_PRT_Type</a> *base, uint32_t pinNum, uint32_t value)</td></tr>
<tr class="memdesc:ga849c813d6771bf8d3c59b89b28a07bca"><td class="mdescLeft">&#160;</td><td class="mdescRight">Write a logic 0 or logic 1 state to the output driver.  <a href="#ga849c813d6771bf8d3c59b89b28a07bca">More...</a><br /></td></tr>
<tr class="separator:ga849c813d6771bf8d3c59b89b28a07bca"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga162a1fa6a9312fa75e135f3f9acb6b7a"><td class="memItemLeft" align="right" valign="top">__STATIC_INLINE uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__gpio__functions__gpio.html#ga162a1fa6a9312fa75e135f3f9acb6b7a">Cy_GPIO_ReadOut</a> (<a class="el" href="struct_g_p_i_o___p_r_t___type.html">GPIO_PRT_Type</a> *base, uint32_t pinNum)</td></tr>
<tr class="memdesc:ga162a1fa6a9312fa75e135f3f9acb6b7a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads the current logic level on the pin output driver.  <a href="#ga162a1fa6a9312fa75e135f3f9acb6b7a">More...</a><br /></td></tr>
<tr class="separator:ga162a1fa6a9312fa75e135f3f9acb6b7a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga068ac50b08ea0a8ecff8c4e67f62208f"><td class="memItemLeft" align="right" valign="top">__STATIC_INLINE void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__gpio__functions__gpio.html#ga068ac50b08ea0a8ecff8c4e67f62208f">Cy_GPIO_Set</a> (<a class="el" href="struct_g_p_i_o___p_r_t___type.html">GPIO_PRT_Type</a> *base, uint32_t pinNum)</td></tr>
<tr class="memdesc:ga068ac50b08ea0a8ecff8c4e67f62208f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set a pin output to logic state high.  <a href="#ga068ac50b08ea0a8ecff8c4e67f62208f">More...</a><br /></td></tr>
<tr class="separator:ga068ac50b08ea0a8ecff8c4e67f62208f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gacd73037c676059312d4dc794a32aec13"><td class="memItemLeft" align="right" valign="top">__STATIC_INLINE void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__gpio__functions__gpio.html#gacd73037c676059312d4dc794a32aec13">Cy_GPIO_Clr</a> (<a class="el" href="struct_g_p_i_o___p_r_t___type.html">GPIO_PRT_Type</a> *base, uint32_t pinNum)</td></tr>
<tr class="memdesc:gacd73037c676059312d4dc794a32aec13"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set a pin output to logic state Low.  <a href="#gacd73037c676059312d4dc794a32aec13">More...</a><br /></td></tr>
<tr class="separator:gacd73037c676059312d4dc794a32aec13"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga35373fa4e131e73153422ef0138bb50b"><td class="memItemLeft" align="right" valign="top">__STATIC_FORCEINLINE void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__gpio__functions__gpio.html#ga35373fa4e131e73153422ef0138bb50b">Cy_GPIO_Inv</a> (<a class="el" href="struct_g_p_i_o___p_r_t___type.html">GPIO_PRT_Type</a> *base, uint32_t pinNum)</td></tr>
<tr class="memdesc:ga35373fa4e131e73153422ef0138bb50b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set a pin output logic state to the inverse of the current output logic state.  <a href="#ga35373fa4e131e73153422ef0138bb50b">More...</a><br /></td></tr>
<tr class="separator:ga35373fa4e131e73153422ef0138bb50b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga97e64dc8c45e7cd73e3012100d03b1fd"><td class="memItemLeft" align="right" valign="top">__STATIC_INLINE void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__gpio__functions__gpio.html#ga97e64dc8c45e7cd73e3012100d03b1fd">Cy_GPIO_SetDrivemode</a> (<a class="el" href="struct_g_p_i_o___p_r_t___type.html">GPIO_PRT_Type</a> *base, uint32_t pinNum, uint32_t value)</td></tr>
<tr class="memdesc:ga97e64dc8c45e7cd73e3012100d03b1fd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Configures the pin output buffer drive mode and input buffer enable.  <a href="#ga97e64dc8c45e7cd73e3012100d03b1fd">More...</a><br /></td></tr>
<tr class="separator:ga97e64dc8c45e7cd73e3012100d03b1fd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaedda162438c80e6455f47a738a5d391a"><td class="memItemLeft" align="right" valign="top">__STATIC_INLINE uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__gpio__functions__gpio.html#gaedda162438c80e6455f47a738a5d391a">Cy_GPIO_GetDrivemode</a> (<a class="el" href="struct_g_p_i_o___p_r_t___type.html">GPIO_PRT_Type</a> *base, uint32_t pinNum)</td></tr>
<tr class="memdesc:gaedda162438c80e6455f47a738a5d391a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the pin output buffer drive mode and input buffer enable state.  <a href="#gaedda162438c80e6455f47a738a5d391a">More...</a><br /></td></tr>
<tr class="separator:gaedda162438c80e6455f47a738a5d391a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad0b222c535e32dadcd0ac536ac25c01a"><td class="memItemLeft" align="right" valign="top">__STATIC_INLINE void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__gpio__functions__gpio.html#gad0b222c535e32dadcd0ac536ac25c01a">Cy_GPIO_SetVtrip</a> (<a class="el" href="struct_g_p_i_o___p_r_t___type.html">GPIO_PRT_Type</a> *base, uint32_t pinNum, uint32_t value)</td></tr>
<tr class="memdesc:gad0b222c535e32dadcd0ac536ac25c01a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Configures the GPIO pin input buffer voltage threshold mode.  <a href="#gad0b222c535e32dadcd0ac536ac25c01a">More...</a><br /></td></tr>
<tr class="separator:gad0b222c535e32dadcd0ac536ac25c01a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga05311fa57489ca5ab668f6b57025169a"><td class="memItemLeft" align="right" valign="top">__STATIC_INLINE uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__gpio__functions__gpio.html#ga05311fa57489ca5ab668f6b57025169a">Cy_GPIO_GetVtrip</a> (<a class="el" href="struct_g_p_i_o___p_r_t___type.html">GPIO_PRT_Type</a> *base, uint32_t pinNum)</td></tr>
<tr class="memdesc:ga05311fa57489ca5ab668f6b57025169a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the pin input buffer voltage threshold mode.  <a href="#ga05311fa57489ca5ab668f6b57025169a">More...</a><br /></td></tr>
<tr class="separator:ga05311fa57489ca5ab668f6b57025169a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga877ae84c544a65ea19347dae57652d48"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__gpio__functions__gpio.html#ga877ae84c544a65ea19347dae57652d48">Cy_GPIO_SetVtripAuto</a> (<a class="el" href="struct_g_p_i_o___p_r_t___type.html">GPIO_PRT_Type</a> *base, uint32_t pinNum, uint32_t value)</td></tr>
<tr class="memdesc:ga877ae84c544a65ea19347dae57652d48"><td class="mdescLeft">&#160;</td><td class="mdescRight">Configures the GPIO pin input buffer for automotive compatible or not.  <a href="#ga877ae84c544a65ea19347dae57652d48">More...</a><br /></td></tr>
<tr class="separator:ga877ae84c544a65ea19347dae57652d48"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga85ac7b2dd2bd7902a5c39ab43eb1211b"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__gpio__functions__gpio.html#ga85ac7b2dd2bd7902a5c39ab43eb1211b">Cy_GPIO_GetVtripAuto</a> (<a class="el" href="struct_g_p_i_o___p_r_t___type.html">GPIO_PRT_Type</a> *base, uint32_t pinNum)</td></tr>
<tr class="memdesc:ga85ac7b2dd2bd7902a5c39ab43eb1211b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the pin input buffer voltage whether it is automotive compatible or not.  <a href="#ga85ac7b2dd2bd7902a5c39ab43eb1211b">More...</a><br /></td></tr>
<tr class="separator:ga85ac7b2dd2bd7902a5c39ab43eb1211b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9c87c3a9beb1045cb1381d86e943f17b"><td class="memItemLeft" align="right" valign="top">__STATIC_INLINE void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__gpio__functions__gpio.html#ga9c87c3a9beb1045cb1381d86e943f17b">Cy_GPIO_SetSlewRate</a> (<a class="el" href="struct_g_p_i_o___p_r_t___type.html">GPIO_PRT_Type</a> *base, uint32_t pinNum, uint32_t value)</td></tr>
<tr class="memdesc:ga9c87c3a9beb1045cb1381d86e943f17b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Configures the pin output buffer slew rate.  <a href="#ga9c87c3a9beb1045cb1381d86e943f17b">More...</a><br /></td></tr>
<tr class="separator:ga9c87c3a9beb1045cb1381d86e943f17b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gafcfe10f42fd63f52833882682af024ee"><td class="memItemLeft" align="right" valign="top">__STATIC_INLINE uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__gpio__functions__gpio.html#gafcfe10f42fd63f52833882682af024ee">Cy_GPIO_GetSlewRate</a> (<a class="el" href="struct_g_p_i_o___p_r_t___type.html">GPIO_PRT_Type</a> *base, uint32_t pinNum)</td></tr>
<tr class="memdesc:gafcfe10f42fd63f52833882682af024ee"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the pin output buffer slew rate.  <a href="#gafcfe10f42fd63f52833882682af024ee">More...</a><br /></td></tr>
<tr class="separator:gafcfe10f42fd63f52833882682af024ee"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga78219f486a642f8c28505526ce74ab6e"><td class="memItemLeft" align="right" valign="top">__STATIC_INLINE void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__gpio__functions__gpio.html#ga78219f486a642f8c28505526ce74ab6e">Cy_GPIO_SetDriveSel</a> (<a class="el" href="struct_g_p_i_o___p_r_t___type.html">GPIO_PRT_Type</a> *base, uint32_t pinNum, uint32_t value)</td></tr>
<tr class="memdesc:ga78219f486a642f8c28505526ce74ab6e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Configures the pin output buffer drive strength.  <a href="#ga78219f486a642f8c28505526ce74ab6e">More...</a><br /></td></tr>
<tr class="separator:ga78219f486a642f8c28505526ce74ab6e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0d4a8d1affa9553620c7c8820aa03eb6"><td class="memItemLeft" align="right" valign="top">__STATIC_INLINE uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__gpio__functions__gpio.html#ga0d4a8d1affa9553620c7c8820aa03eb6">Cy_GPIO_GetDriveSel</a> (<a class="el" href="struct_g_p_i_o___p_r_t___type.html">GPIO_PRT_Type</a> *base, uint32_t pinNum)</td></tr>
<tr class="memdesc:ga0d4a8d1affa9553620c7c8820aa03eb6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the pin output buffer drive strength.  <a href="#ga0d4a8d1affa9553620c7c8820aa03eb6">More...</a><br /></td></tr>
<tr class="separator:ga0d4a8d1affa9553620c7c8820aa03eb6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae7942739fe1e69b5d38f7e2437d135bc"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__gpio__functions__gpio.html#gae7942739fe1e69b5d38f7e2437d135bc">Cy_GPIO_SetDriveSelTrim</a> (<a class="el" href="struct_g_p_i_o___p_r_t___type.html">GPIO_PRT_Type</a> *base, uint32_t pinNum, uint32_t value)</td></tr>
<tr class="memdesc:gae7942739fe1e69b5d38f7e2437d135bc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Configures the pin output buffer drive select trim.  <a href="#gae7942739fe1e69b5d38f7e2437d135bc">More...</a><br /></td></tr>
<tr class="separator:gae7942739fe1e69b5d38f7e2437d135bc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad1af3b2d1ec5b218d30c355be3a42ed4"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__gpio__functions__gpio.html#gad1af3b2d1ec5b218d30c355be3a42ed4">Cy_GPIO_GetDriveSelTrim</a> (<a class="el" href="struct_g_p_i_o___p_r_t___type.html">GPIO_PRT_Type</a> *base, uint32_t pinNum)</td></tr>
<tr class="memdesc:gad1af3b2d1ec5b218d30c355be3a42ed4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the pin output buffer drive select trim.  <a href="#gad1af3b2d1ec5b218d30c355be3a42ed4">More...</a><br /></td></tr>
<tr class="separator:gad1af3b2d1ec5b218d30c355be3a42ed4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaaac989df7f0158c5b6549c86e5034479"><td class="memItemLeft" align="right" valign="top">__STATIC_INLINE void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__gpio__functions__gpio.html#gaaac989df7f0158c5b6549c86e5034479">Cy_GPIO_WritePort</a> (<a class="el" href="struct_g_p_i_o___p_r_t___type.html">GPIO_PRT_Type</a> *base, uint32_t value)</td></tr>
<tr class="memdesc:gaaac989df7f0158c5b6549c86e5034479"><td class="mdescLeft">&#160;</td><td class="mdescRight">Write value to the whole GPIO port.  <a href="#gaaac989df7f0158c5b6549c86e5034479">More...</a><br /></td></tr>
<tr class="separator:gaaac989df7f0158c5b6549c86e5034479"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Function Documentation</h2>
<a id="ga8d7972a161fe097a01a55f9cd31b1f03"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga8d7972a161fe097a01a55f9cd31b1f03">&#9670;&nbsp;</a></span>Cy_GPIO_SetAmuxSplit()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Cy_GPIO_SetAmuxSplit </td>
          <td>(</td>
          <td class="paramtype">cy_en_amux_split_t&#160;</td>
          <td class="paramname"><em>switchCtrl</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__group__gpio__enums.html#gaf794ce2cae36756be0cccfcd2c6ab077">cy_en_gpio_amuxconnect_t</a>&#160;</td>
          <td class="paramname"><em>amuxConnect</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__group__gpio__enums.html#gae2449cca47330934a26281d8f3cba110">cy_en_gpio_amuxselect_t</a>&#160;</td>
          <td class="paramname"><em>amuxBus</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Configure a specific AMux bus splitter switch cell into a specific configuration. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">switchCtrl</td><td>Selects specific AMux bus splitter cell between two segments. The cy_en_amux_split_t enumeration can be found in the GPIO header file for the device package.</td></tr>
    <tr><td class="paramname">amuxConnect</td><td>Selects configuration of the three switches within the splitter cell</td></tr>
    <tr><td class="paramname">amuxBus</td><td>Selects which AMux bus within the splitter is being configured</td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>This API is available for the CAT1A and CAT1D devices. </dd></dl>

</div>
</div>
<a id="ga52c69476c1755f4d60b491862f10f68c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga52c69476c1755f4d60b491862f10f68c">&#9670;&nbsp;</a></span>Cy_GPIO_GetAmuxSplit()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__group__gpio__enums.html#gaf794ce2cae36756be0cccfcd2c6ab077">cy_en_gpio_amuxconnect_t</a> Cy_GPIO_GetAmuxSplit </td>
          <td>(</td>
          <td class="paramtype">cy_en_amux_split_t&#160;</td>
          <td class="paramname"><em>switchCtrl</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__group__gpio__enums.html#gae2449cca47330934a26281d8f3cba110">cy_en_gpio_amuxselect_t</a>&#160;</td>
          <td class="paramname"><em>amuxBus</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Returns the configuration of a specific AMux bus splitter switch cell. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">switchCtrl</td><td>Selects specific AMux bus splitter cell between two segments. The cy_en_amux_split_t enumeration can be found in the GPIO header file for the device package.</td></tr>
    <tr><td class="paramname">amuxBus</td><td>Selects which AMux bus within the splitter is being configured</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Returns configuration of the three switches in the selected splitter cell</dd></dl>
<dl class="section note"><dt>Note</dt><dd>This API is available for the CAT1A and CAT1D devices. </dd></dl>

</div>
</div>
<a id="ga3d44507453ea90abde3013c1ac867df8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga3d44507453ea90abde3013c1ac867df8">&#9670;&nbsp;</a></span>Cy_GPIO_Read()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">__STATIC_INLINE uint32_t Cy_GPIO_Read </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_g_p_i_o___p_r_t___type.html">GPIO_PRT_Type</a> *&#160;</td>
          <td class="paramname"><em>base</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>pinNum</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Reads the current logic level on the input buffer of the pin. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">base</td><td>Pointer to the pin's port register base address</td></tr>
    <tr><td class="paramname">pinNum</td><td>Position of the pin bit-field within the port register. Bit position 8 is the routed pin through the port glitch filter.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Logic level present on the pin</dd></dl>
<dl class="section user"><dt>Function Usage</dt><dd><div class="fragment"><div class="line"></div><div class="line">    <span class="comment">/* Scenario: P0.3 was initialized and input buffer enabled */</span></div><div class="line"></div><div class="line">    <span class="comment">/* Read the input state of P0.3 */</span></div><div class="line">    <span class="keywordflow">if</span>(1UL == <a class="code" href="group__group__gpio__functions__gpio.html#ga3d44507453ea90abde3013c1ac867df8">Cy_GPIO_Read</a>(P0_3_PORT, P0_3_NUM))</div><div class="line">    {</div><div class="line">        <span class="comment">/* Insert logic for High pin state */</span></div><div class="line">    }</div><div class="line">    <span class="keywordflow">else</span></div><div class="line">    {</div><div class="line">        <span class="comment">/* Insert logic for Low pin state */</span></div><div class="line">    }</div><div class="line"></div></div><!-- fragment --></dd></dl>

</div>
</div>
<a id="ga849c813d6771bf8d3c59b89b28a07bca"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga849c813d6771bf8d3c59b89b28a07bca">&#9670;&nbsp;</a></span>Cy_GPIO_Write()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">__STATIC_INLINE void Cy_GPIO_Write </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_g_p_i_o___p_r_t___type.html">GPIO_PRT_Type</a> *&#160;</td>
          <td class="paramname"><em>base</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>pinNum</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>value</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Write a logic 0 or logic 1 state to the output driver. </p>
<p>This function should be used only for software driven pins. It does not have any effect on peripheral driven pins.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">base</td><td>Pointer to the pin's port register base address</td></tr>
    <tr><td class="paramname">pinNum</td><td>Position of the pin bit-field within the port register</td></tr>
    <tr><td class="paramname">value</td><td>Logic level to drive out on the pin</td></tr>
  </table>
  </dd>
</dl>
<dl class="section user"><dt>Function Usage</dt><dd><div class="fragment"><div class="line"></div><div class="line">    uint32_t pinState = 0UL;</div><div class="line"></div><div class="line">    <span class="comment">/* Control P0.3 based on the pinState variable */</span></div><div class="line">    <a class="code" href="group__group__gpio__functions__gpio.html#ga849c813d6771bf8d3c59b89b28a07bca">Cy_GPIO_Write</a>(P0_3_PORT, P0_3_NUM, pinState);</div><div class="line"></div></div><!-- fragment --></dd></dl>

</div>
</div>
<a id="ga162a1fa6a9312fa75e135f3f9acb6b7a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga162a1fa6a9312fa75e135f3f9acb6b7a">&#9670;&nbsp;</a></span>Cy_GPIO_ReadOut()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">__STATIC_INLINE uint32_t Cy_GPIO_ReadOut </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_g_p_i_o___p_r_t___type.html">GPIO_PRT_Type</a> *&#160;</td>
          <td class="paramname"><em>base</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>pinNum</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Reads the current logic level on the pin output driver. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">base</td><td>Pointer to the pin's port register base address</td></tr>
    <tr><td class="paramname">pinNum</td><td>Position of the pin bit-field within the port register</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Logic level on the pin output driver</dd></dl>
<dl class="section user"><dt>Function Usage</dt><dd><div class="fragment"><div class="line"></div><div class="line">    <span class="comment">/* Write logic low to P0.3 */</span></div><div class="line">    <a class="code" href="group__group__gpio__functions__gpio.html#ga849c813d6771bf8d3c59b89b28a07bca">Cy_GPIO_Write</a>(P0_3_PORT, P0_3_NUM, 0UL);</div><div class="line"></div><div class="line">    <span class="comment">/* Get the output value of P0.3 */</span></div><div class="line">    <span class="keywordflow">if</span>(0UL != <a class="code" href="group__group__gpio__functions__gpio.html#ga162a1fa6a9312fa75e135f3f9acb6b7a">Cy_GPIO_ReadOut</a>(P0_3_PORT, P0_3_NUM))</div><div class="line">    {</div><div class="line">        <span class="comment">/* Insert error handling */</span></div><div class="line">    }</div><div class="line"></div></div><!-- fragment --></dd></dl>

</div>
</div>
<a id="ga068ac50b08ea0a8ecff8c4e67f62208f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga068ac50b08ea0a8ecff8c4e67f62208f">&#9670;&nbsp;</a></span>Cy_GPIO_Set()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">__STATIC_INLINE void Cy_GPIO_Set </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_g_p_i_o___p_r_t___type.html">GPIO_PRT_Type</a> *&#160;</td>
          <td class="paramname"><em>base</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>pinNum</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set a pin output to logic state high. </p>
<p>This function should be used only for software driven pins. It does not have any effect on peripheral driven pins.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">base</td><td>Pointer to the pin's port register base address</td></tr>
    <tr><td class="paramname">pinNum</td><td>Position of the pin bit-field within the port register</td></tr>
  </table>
  </dd>
</dl>
<dl class="section user"><dt>Function Usage</dt><dd><div class="fragment"><div class="line"></div><div class="line">    <span class="comment">/* Set P0.3 (out value = High) */</span></div><div class="line">    <a class="code" href="group__group__gpio__functions__gpio.html#ga068ac50b08ea0a8ecff8c4e67f62208f">Cy_GPIO_Set</a>(P0_3_PORT, P0_3_NUM);</div><div class="line"></div></div><!-- fragment --></dd></dl>

</div>
</div>
<a id="gacd73037c676059312d4dc794a32aec13"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gacd73037c676059312d4dc794a32aec13">&#9670;&nbsp;</a></span>Cy_GPIO_Clr()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">__STATIC_INLINE void Cy_GPIO_Clr </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_g_p_i_o___p_r_t___type.html">GPIO_PRT_Type</a> *&#160;</td>
          <td class="paramname"><em>base</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>pinNum</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set a pin output to logic state Low. </p>
<p>This function should be used only for software driven pins. It does not have any effect on peripheral driven pins.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">base</td><td>Pointer to the pin's port register base address</td></tr>
    <tr><td class="paramname">pinNum</td><td>Position of the pin bit-field within the port register</td></tr>
  </table>
  </dd>
</dl>
<dl class="section user"><dt>Function Usage</dt><dd><div class="fragment"><div class="line"></div><div class="line">    <span class="comment">/* Clear P0.3 (out value = Low) */</span></div><div class="line">    <a class="code" href="group__group__gpio__functions__gpio.html#gacd73037c676059312d4dc794a32aec13">Cy_GPIO_Clr</a>(P0_3_PORT, P0_3_NUM);</div><div class="line"></div></div><!-- fragment --></dd></dl>

</div>
</div>
<a id="ga35373fa4e131e73153422ef0138bb50b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga35373fa4e131e73153422ef0138bb50b">&#9670;&nbsp;</a></span>Cy_GPIO_Inv()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">__STATIC_FORCEINLINE void Cy_GPIO_Inv </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_g_p_i_o___p_r_t___type.html">GPIO_PRT_Type</a> *&#160;</td>
          <td class="paramname"><em>base</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>pinNum</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set a pin output logic state to the inverse of the current output logic state. </p>
<p>This function should be used only for software driven pins. It does not have any effect on peripheral driven pins.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">base</td><td>Pointer to the pin's port register base address</td></tr>
    <tr><td class="paramname">pinNum</td><td>Position of the pin bit-field within the port register</td></tr>
  </table>
  </dd>
</dl>
<dl class="section user"><dt>Function Usage</dt><dd><div class="fragment"><div class="line"></div><div class="line">    <span class="comment">/* Invert P0.3 (out value = ~(out value)) */</span></div><div class="line">    <a class="code" href="group__group__gpio__functions__gpio.html#ga35373fa4e131e73153422ef0138bb50b">Cy_GPIO_Inv</a>(P0_3_PORT, P0_3_NUM);</div><div class="line"></div></div><!-- fragment --></dd></dl>

</div>
</div>
<a id="ga97e64dc8c45e7cd73e3012100d03b1fd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga97e64dc8c45e7cd73e3012100d03b1fd">&#9670;&nbsp;</a></span>Cy_GPIO_SetDrivemode()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">__STATIC_INLINE void Cy_GPIO_SetDrivemode </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_g_p_i_o___p_r_t___type.html">GPIO_PRT_Type</a> *&#160;</td>
          <td class="paramname"><em>base</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>pinNum</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>value</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Configures the pin output buffer drive mode and input buffer enable. </p>
<p>The output buffer drive mode and input buffer enable are combined into a single parameter. The drive mode controls the behavior of the pin in general. Enabling the input buffer allows the digital pin state to be read but also contributes to extra current consumption.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">base</td><td>Pointer to the pin's port register base address</td></tr>
    <tr><td class="paramname">pinNum</td><td>Position of the pin bit-field within the port register</td></tr>
    <tr><td class="paramname">value</td><td>Pin drive mode. Options are detailed in <a class="el" href="group__group__gpio__drive_modes.html">Pin drive mode</a> macros</td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>This function modifies a port register in a read-modify-write operation. It is not thread safe as the resource is shared among multiple pins on a port.</dd></dl>
<dl class="section user"><dt>Function Usage</dt><dd><div class="fragment"><div class="line"></div><div class="line">    <span class="comment">/* Scenario: Enter deep-sleep with reduced leakage current on P0.3 */</span></div><div class="line"></div><div class="line">    <span class="comment">/* Get the drive mode of P0.3 */</span></div><div class="line">    <span class="keywordflow">if</span>(<a class="code" href="group__group__gpio__drive_modes.html#ga9e554ee7c43ac65a6d48274455b53823">CY_GPIO_DM_STRONG</a>== <a class="code" href="group__group__gpio__functions__gpio.html#gaedda162438c80e6455f47a738a5d391a">Cy_GPIO_GetDrivemode</a>(P0_3_PORT, P0_3_NUM))</div><div class="line">    {</div><div class="line">        <span class="comment">/* Change the drive mode of P0.3 to analog (hi-z, input buffer off) */</span></div><div class="line">        <a class="code" href="group__group__gpio__functions__gpio.html#ga97e64dc8c45e7cd73e3012100d03b1fd">Cy_GPIO_SetDrivemode</a>(P0_3_PORT, P0_3_NUM, <a class="code" href="group__group__gpio__drive_modes.html#gabb81a7da2a4cd1ed6501515f9b6950e8">CY_GPIO_DM_ANALOG</a>);</div><div class="line">    }</div><div class="line"></div></div><!-- fragment --></dd></dl>

</div>
</div>
<a id="gaedda162438c80e6455f47a738a5d391a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaedda162438c80e6455f47a738a5d391a">&#9670;&nbsp;</a></span>Cy_GPIO_GetDrivemode()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">__STATIC_INLINE uint32_t Cy_GPIO_GetDrivemode </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_g_p_i_o___p_r_t___type.html">GPIO_PRT_Type</a> *&#160;</td>
          <td class="paramname"><em>base</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>pinNum</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Returns the pin output buffer drive mode and input buffer enable state. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">base</td><td>Pointer to the pin's port register base address</td></tr>
    <tr><td class="paramname">pinNum</td><td>Position of the pin bit-field within the port register</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Pin drive mode. Options are detailed in <a class="el" href="group__group__gpio__drive_modes.html">Pin drive mode</a> macros</dd></dl>
<dl class="section user"><dt>Function Usage</dt><dd><div class="fragment"><div class="line"></div><div class="line">    <span class="comment">/* Scenario: Enter deep-sleep with reduced leakage current on P0.3 */</span></div><div class="line"></div><div class="line">    <span class="comment">/* Get the drive mode of P0.3 */</span></div><div class="line">    <span class="keywordflow">if</span>(<a class="code" href="group__group__gpio__drive_modes.html#ga9e554ee7c43ac65a6d48274455b53823">CY_GPIO_DM_STRONG</a>== <a class="code" href="group__group__gpio__functions__gpio.html#gaedda162438c80e6455f47a738a5d391a">Cy_GPIO_GetDrivemode</a>(P0_3_PORT, P0_3_NUM))</div><div class="line">    {</div><div class="line">        <span class="comment">/* Change the drive mode of P0.3 to analog (hi-z, input buffer off) */</span></div><div class="line">        <a class="code" href="group__group__gpio__functions__gpio.html#ga97e64dc8c45e7cd73e3012100d03b1fd">Cy_GPIO_SetDrivemode</a>(P0_3_PORT, P0_3_NUM, <a class="code" href="group__group__gpio__drive_modes.html#gabb81a7da2a4cd1ed6501515f9b6950e8">CY_GPIO_DM_ANALOG</a>);</div><div class="line">    }</div><div class="line"></div></div><!-- fragment --></dd></dl>

</div>
</div>
<a id="gad0b222c535e32dadcd0ac536ac25c01a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gad0b222c535e32dadcd0ac536ac25c01a">&#9670;&nbsp;</a></span>Cy_GPIO_SetVtrip()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">__STATIC_INLINE void Cy_GPIO_SetVtrip </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_g_p_i_o___p_r_t___type.html">GPIO_PRT_Type</a> *&#160;</td>
          <td class="paramname"><em>base</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>pinNum</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>value</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Configures the GPIO pin input buffer voltage threshold mode. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">base</td><td>Pointer to the pin's port register base address</td></tr>
    <tr><td class="paramname">pinNum</td><td>Position of the pin bit-field within the port register</td></tr>
    <tr><td class="paramname">value</td><td>Pin voltage threshold mode. Options are detailed in <a class="el" href="group__group__gpio__vtrip.html">Voltage trip mode</a> macros</td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>This function modifies a port register in a read-modify-write operation. It is not thread safe as the resource is shared among multiple pins on a port.</dd></dl>
<dl class="section user"><dt>Function Usage</dt><dd><div class="fragment"><div class="line"></div><div class="line">    <span class="comment">/* Scenario: Connect the pin to a TTL hardware */</span></div><div class="line"></div><div class="line">    <span class="comment">/* Get the vtrip value of P0.3 */</span></div><div class="line">    <span class="keywordflow">if</span>(<a class="code" href="group__group__gpio__vtrip.html#ga0eb9d3f41338feae28103e8a8c302ba0">CY_GPIO_VTRIP_CMOS</a> == <a class="code" href="group__group__gpio__functions__gpio.html#ga05311fa57489ca5ab668f6b57025169a">Cy_GPIO_GetVtrip</a>(P0_3_PORT, P0_3_NUM))</div><div class="line">    {</div><div class="line">        <span class="comment">/* Change the vtrip of P0.3 to LVTTL */</span></div><div class="line">        <a class="code" href="group__group__gpio__functions__gpio.html#gad0b222c535e32dadcd0ac536ac25c01a">Cy_GPIO_SetVtrip</a>(P0_3_PORT, P0_3_NUM, <a class="code" href="group__group__gpio__vtrip.html#gac6202dadf8d8993589920d3461f317b5">CY_GPIO_VTRIP_TTL</a>);</div><div class="line">    }</div><div class="line"></div></div><!-- fragment --></dd></dl>

</div>
</div>
<a id="ga05311fa57489ca5ab668f6b57025169a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga05311fa57489ca5ab668f6b57025169a">&#9670;&nbsp;</a></span>Cy_GPIO_GetVtrip()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">__STATIC_INLINE uint32_t Cy_GPIO_GetVtrip </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_g_p_i_o___p_r_t___type.html">GPIO_PRT_Type</a> *&#160;</td>
          <td class="paramname"><em>base</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>pinNum</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Returns the pin input buffer voltage threshold mode. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">base</td><td>Pointer to the pin's port register base address</td></tr>
    <tr><td class="paramname">pinNum</td><td>Position of the pin bit-field within the port register</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Pin voltage threshold mode. Options are detailed in <a class="el" href="group__group__gpio__vtrip.html">Voltage trip mode</a> macros</dd></dl>
<dl class="section user"><dt>Function Usage</dt><dd><div class="fragment"><div class="line"></div><div class="line">    <span class="comment">/* Scenario: Connect the pin to a TTL hardware */</span></div><div class="line"></div><div class="line">    <span class="comment">/* Get the vtrip value of P0.3 */</span></div><div class="line">    <span class="keywordflow">if</span>(<a class="code" href="group__group__gpio__vtrip.html#ga0eb9d3f41338feae28103e8a8c302ba0">CY_GPIO_VTRIP_CMOS</a> == <a class="code" href="group__group__gpio__functions__gpio.html#ga05311fa57489ca5ab668f6b57025169a">Cy_GPIO_GetVtrip</a>(P0_3_PORT, P0_3_NUM))</div><div class="line">    {</div><div class="line">        <span class="comment">/* Change the vtrip of P0.3 to LVTTL */</span></div><div class="line">        <a class="code" href="group__group__gpio__functions__gpio.html#gad0b222c535e32dadcd0ac536ac25c01a">Cy_GPIO_SetVtrip</a>(P0_3_PORT, P0_3_NUM, <a class="code" href="group__group__gpio__vtrip.html#gac6202dadf8d8993589920d3461f317b5">CY_GPIO_VTRIP_TTL</a>);</div><div class="line">    }</div><div class="line"></div></div><!-- fragment --></dd></dl>

</div>
</div>
<a id="ga877ae84c544a65ea19347dae57652d48"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga877ae84c544a65ea19347dae57652d48">&#9670;&nbsp;</a></span>Cy_GPIO_SetVtripAuto()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Cy_GPIO_SetVtripAuto </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_g_p_i_o___p_r_t___type.html">GPIO_PRT_Type</a> *&#160;</td>
          <td class="paramname"><em>base</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>pinNum</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>value</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Configures the GPIO pin input buffer for automotive compatible or not. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">base</td><td>Pointer to the pin's port register base address</td></tr>
    <tr><td class="paramname">pinNum</td><td>Position of the pin bit-field within the port register</td></tr>
    <tr><td class="paramname">value</td><td>Pin voltage threshold mode. Options are detailed in <a class="el" href="group__group__gpio__vtrip__auto.html">Voltage trip automotive compatible mode</a> macros</td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>This function modifies a port register in a read-modify-write operation. It is not thread safe as the resource is shared among multiple pins on a port.</dd>
<dd>
This API is available for CAT1B and CAT1C devices. TVIIBE also supports this functionality.</dd></dl>
<dl class="section user"><dt>Function Usage</dt><dd><div class="fragment"><div class="line"></div><div class="line">    <span class="comment">/* Scenario: Assume P0.3 is an SIO pin and that it is paired with P0.2.</span></div><div class="line"><span class="comment">                 Both pins are configured as input pins. The input signals</span></div><div class="line"><span class="comment">                 on P0.2 and P0.3 need to be interpreted as logic 0 or 1 at</span></div><div class="line"><span class="comment">                 0.5 x VDDIO threshold. */</span></div><div class="line"></div><div class="line">    <span class="comment">/* Set the input buffer to be differential on the P0.2/P0.3 SIO pair */</span></div><div class="line">    <a class="code" href="group__group__gpio__functions__sio.html#ga68cd1291bf4d0878e6155a6f3d3f0d48">Cy_GPIO_SetIbufMode</a>(P0_3_PORT, P0_3_NUM, <a class="code" href="group__group__gpio__sio_ibuf.html#ga6850dffbb80666798735b2914c0aa4d0">CY_SIO_IBUF_DIFFERENTIAL</a>);</div><div class="line"></div><div class="line">    <span class="comment">/* Choose VREF to be sourced from VDDIO (pin ref) */</span></div><div class="line">    <a class="code" href="group__group__gpio__functions__sio.html#gad57f3f01fb4fee362bf8379f265352a5">Cy_GPIO_SetVrefSel</a>(P0_3_PORT, P0_3_NUM, <a class="code" href="group__group__gpio__sio_vref.html#ga7068729049c6c4d4b9a5bc5b35fd5cf8">CY_SIO_VREF_PINREF</a>);</div><div class="line"></div><div class="line">    <span class="comment">/* Get the input buffer trip-point of P0.2/P0.3 pair */</span></div><div class="line">    <span class="keywordflow">if</span>(<a class="code" href="group__group__gpio__sio_vtrip.html#ga604bd3b5b4bda6fd88a434e7df3c55aa">CY_SIO_VTRIP_CMOS</a> == <a class="code" href="group__group__gpio__functions__sio.html#ga22d9f3a603348606519ea8cd3a192eff">Cy_GPIO_GetVtripSel</a>(P0_3_PORT, P0_3_NUM))</div><div class="line">    {</div><div class="line">        <span class="comment">/* Set the input buffer trip-point to 0.5 x VDDIO on the P0.2/P0.3 SIO pair */</span></div><div class="line">        <a class="code" href="group__group__gpio__functions__sio.html#gaa737d4b37f0480062ccbc6c484feab87">Cy_GPIO_SetVtripSel</a>(P0_3_PORT, P0_3_NUM, <a class="code" href="group__group__gpio__sio_vtrip.html#ga3b4be6e3a866fde6dc4fa815f1f1a65c">CY_SIO_VTRIP_0_5VDDIO_0_5VOH</a>);</div><div class="line">    }</div><div class="line"></div></div><!-- fragment --></dd></dl>

</div>
</div>
<a id="ga85ac7b2dd2bd7902a5c39ab43eb1211b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga85ac7b2dd2bd7902a5c39ab43eb1211b">&#9670;&nbsp;</a></span>Cy_GPIO_GetVtripAuto()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t Cy_GPIO_GetVtripAuto </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_g_p_i_o___p_r_t___type.html">GPIO_PRT_Type</a> *&#160;</td>
          <td class="paramname"><em>base</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>pinNum</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Returns the pin input buffer voltage whether it is automotive compatible or not. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">base</td><td>Pointer to the pin's port register base address</td></tr>
    <tr><td class="paramname">pinNum</td><td>Position of the pin bit-field within the port register</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Pin voltage for automotive or not. Options are detailed in <a class="el" href="group__group__gpio__vtrip__auto.html">Voltage trip automotive compatible mode</a> macros</dd></dl>
<dl class="section note"><dt>Note</dt><dd>This API is available for CAT1B and CAT1C devices. </dd></dl>

</div>
</div>
<a id="ga9c87c3a9beb1045cb1381d86e943f17b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga9c87c3a9beb1045cb1381d86e943f17b">&#9670;&nbsp;</a></span>Cy_GPIO_SetSlewRate()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">__STATIC_INLINE void Cy_GPIO_SetSlewRate </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_g_p_i_o___p_r_t___type.html">GPIO_PRT_Type</a> *&#160;</td>
          <td class="paramname"><em>base</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>pinNum</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>value</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Configures the pin output buffer slew rate. </p>
<p>GPIO pins have fast and slow output slew rate options for the strong drivers configured using this API. By default the port works in fast slew mode. Slower slew rate results in reduced EMI and crosstalk and are recommended for low-frequency signals or signals without strict timing constraints.</p>
<dl class="section note"><dt>Note</dt><dd>This function has no effect for the GPIO ports, where the slew rate configuration is not available. Refer to device datasheet for details.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">base</td><td>Pointer to the pin's port register base address</td></tr>
    <tr><td class="paramname">pinNum</td><td>Position of the pin bit-field within the port register</td></tr>
    <tr><td class="paramname">value</td><td>Pin slew rate. Options are detailed in <a class="el" href="group__group__gpio__slew_rate.html">Slew Rate Mode</a> macros</td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>This function modifies a port register in a read-modify-write operation. It is not thread safe as the resource is shared among multiple pins on a port.</dd></dl>
<dl class="section user"><dt>Function Usage</dt><dd><div class="fragment"><div class="line"></div><div class="line">    <span class="comment">/* Scenario: Connect the pin to I2C (slow slew rate is preferred for low EMI) */</span></div><div class="line"></div><div class="line">    <span class="comment">/* Get the slew rate value of P0.3 */</span></div><div class="line">    <span class="keywordflow">if</span>(<a class="code" href="group__group__gpio__slew_rate.html#gabb43620358101afd1663376cb3ba19b4">CY_GPIO_SLEW_FAST</a> == <a class="code" href="group__group__gpio__functions__gpio.html#gafcfe10f42fd63f52833882682af024ee">Cy_GPIO_GetSlewRate</a>(P0_3_PORT, P0_3_NUM))</div><div class="line">    {</div><div class="line">        <span class="comment">/* Change the slew rate of P0.3 to Slow */</span></div><div class="line">        <a class="code" href="group__group__gpio__functions__gpio.html#ga9c87c3a9beb1045cb1381d86e943f17b">Cy_GPIO_SetSlewRate</a>(P0_3_PORT, P0_3_NUM, <a class="code" href="group__group__gpio__slew_rate.html#ga1ab555b60c93c0e337f9ddd4e5a93023">CY_GPIO_SLEW_SLOW</a>);</div><div class="line">    }</div><div class="line"></div></div><!-- fragment --></dd></dl>

</div>
</div>
<a id="gafcfe10f42fd63f52833882682af024ee"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gafcfe10f42fd63f52833882682af024ee">&#9670;&nbsp;</a></span>Cy_GPIO_GetSlewRate()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">__STATIC_INLINE uint32_t Cy_GPIO_GetSlewRate </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_g_p_i_o___p_r_t___type.html">GPIO_PRT_Type</a> *&#160;</td>
          <td class="paramname"><em>base</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>pinNum</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Returns the pin output buffer slew rate. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">base</td><td>Pointer to the pin's port register base address</td></tr>
    <tr><td class="paramname">pinNum</td><td>Position of the pin bit-field within the port register</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Pin slew rate. Options are detailed in <a class="el" href="group__group__gpio__slew_rate.html">Slew Rate Mode</a> macros</dd></dl>
<dl class="section user"><dt>Function Usage</dt><dd><div class="fragment"><div class="line"></div><div class="line">    <span class="comment">/* Scenario: Connect the pin to I2C (slow slew rate is preferred for low EMI) */</span></div><div class="line"></div><div class="line">    <span class="comment">/* Get the slew rate value of P0.3 */</span></div><div class="line">    <span class="keywordflow">if</span>(<a class="code" href="group__group__gpio__slew_rate.html#gabb43620358101afd1663376cb3ba19b4">CY_GPIO_SLEW_FAST</a> == <a class="code" href="group__group__gpio__functions__gpio.html#gafcfe10f42fd63f52833882682af024ee">Cy_GPIO_GetSlewRate</a>(P0_3_PORT, P0_3_NUM))</div><div class="line">    {</div><div class="line">        <span class="comment">/* Change the slew rate of P0.3 to Slow */</span></div><div class="line">        <a class="code" href="group__group__gpio__functions__gpio.html#ga9c87c3a9beb1045cb1381d86e943f17b">Cy_GPIO_SetSlewRate</a>(P0_3_PORT, P0_3_NUM, <a class="code" href="group__group__gpio__slew_rate.html#ga1ab555b60c93c0e337f9ddd4e5a93023">CY_GPIO_SLEW_SLOW</a>);</div><div class="line">    }</div><div class="line"></div></div><!-- fragment --></dd></dl>

</div>
</div>
<a id="ga78219f486a642f8c28505526ce74ab6e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga78219f486a642f8c28505526ce74ab6e">&#9670;&nbsp;</a></span>Cy_GPIO_SetDriveSel()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">__STATIC_INLINE void Cy_GPIO_SetDriveSel </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_g_p_i_o___p_r_t___type.html">GPIO_PRT_Type</a> *&#160;</td>
          <td class="paramname"><em>base</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>pinNum</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>value</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Configures the pin output buffer drive strength. </p>
<p>The drive strength field determines the active portion of the output drivers used and can affect the slew rate of output signals. Drive strength options are full drive strength (default), one-half strength, one-quarter strength, and oneeighth strength. Drive strength must be set to full drive strength when the slow slew rate bit (SLOW) is set.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">base</td><td>Pointer to the pin's port register base address</td></tr>
    <tr><td class="paramname">pinNum</td><td>Position of the pin bit-field within the port register.</td></tr>
    <tr><td class="paramname">value</td><td>Pin drive strength. Options are detailed in <a class="el" href="group__group__gpio__drive_strength.html">Pin drive strength</a> macros</td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>This function modifies a port register in a read-modify-write operation. It is not thread safe as the resource is shared among multiple pins on a port.</dd></dl>
<dl class="section user"><dt>Function Usage</dt><dd><div class="fragment"><div class="line"></div><div class="line">    <span class="comment">/* Scenario: Reduce the drive current as part of power conservation strategy */</span></div><div class="line"></div><div class="line">    <span class="comment">/* Get the drive current capability of P0.3 */</span></div><div class="line">    <span class="keywordflow">if</span>(<a class="code" href="group__group__gpio__drive_strength.html#ga203ca4e69600122e76e45dbaa2f013fb">CY_GPIO_DRIVE_FULL</a> == <a class="code" href="group__group__gpio__functions__gpio.html#ga0d4a8d1affa9553620c7c8820aa03eb6">Cy_GPIO_GetDriveSel</a>(P0_3_PORT, P0_3_NUM))</div><div class="line">    {</div><div class="line">        <span class="comment">/* Change the drive current capability of P0.3 to 1/4 of full strength */</span></div><div class="line">        <a class="code" href="group__group__gpio__functions__gpio.html#ga78219f486a642f8c28505526ce74ab6e">Cy_GPIO_SetDriveSel</a>(P0_3_PORT, P0_3_NUM, <a class="code" href="group__group__gpio__drive_strength.html#gaa27e96aa067065610a9303e55c694cb1">CY_GPIO_DRIVE_1_4</a>);</div><div class="line">    }</div><div class="line"></div></div><!-- fragment --></dd></dl>

</div>
</div>
<a id="ga0d4a8d1affa9553620c7c8820aa03eb6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga0d4a8d1affa9553620c7c8820aa03eb6">&#9670;&nbsp;</a></span>Cy_GPIO_GetDriveSel()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">__STATIC_INLINE uint32_t Cy_GPIO_GetDriveSel </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_g_p_i_o___p_r_t___type.html">GPIO_PRT_Type</a> *&#160;</td>
          <td class="paramname"><em>base</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>pinNum</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Returns the pin output buffer drive strength. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">base</td><td>Pointer to the pin's port register base address</td></tr>
    <tr><td class="paramname">pinNum</td><td>Position of the pin bit-field within the port register</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Pin drive strength. Options are detailed in <a class="el" href="group__group__gpio__drive_strength.html">Pin drive strength</a> macros</dd></dl>
<dl class="section user"><dt>Function Usage</dt><dd><div class="fragment"><div class="line"></div><div class="line">    <span class="comment">/* Scenario: Reduce the drive current as part of power conservation strategy */</span></div><div class="line"></div><div class="line">    <span class="comment">/* Get the drive current capability of P0.3 */</span></div><div class="line">    <span class="keywordflow">if</span>(<a class="code" href="group__group__gpio__drive_strength.html#ga203ca4e69600122e76e45dbaa2f013fb">CY_GPIO_DRIVE_FULL</a> == <a class="code" href="group__group__gpio__functions__gpio.html#ga0d4a8d1affa9553620c7c8820aa03eb6">Cy_GPIO_GetDriveSel</a>(P0_3_PORT, P0_3_NUM))</div><div class="line">    {</div><div class="line">        <span class="comment">/* Change the drive current capability of P0.3 to 1/4 of full strength */</span></div><div class="line">        <a class="code" href="group__group__gpio__functions__gpio.html#ga78219f486a642f8c28505526ce74ab6e">Cy_GPIO_SetDriveSel</a>(P0_3_PORT, P0_3_NUM, <a class="code" href="group__group__gpio__drive_strength.html#gaa27e96aa067065610a9303e55c694cb1">CY_GPIO_DRIVE_1_4</a>);</div><div class="line">    }</div><div class="line"></div></div><!-- fragment --></dd></dl>

</div>
</div>
<a id="gae7942739fe1e69b5d38f7e2437d135bc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gae7942739fe1e69b5d38f7e2437d135bc">&#9670;&nbsp;</a></span>Cy_GPIO_SetDriveSelTrim()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Cy_GPIO_SetDriveSelTrim </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_g_p_i_o___p_r_t___type.html">GPIO_PRT_Type</a> *&#160;</td>
          <td class="paramname"><em>base</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>pinNum</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>value</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Configures the pin output buffer drive select trim. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">base</td><td>Pointer to the pin's port register base address</td></tr>
    <tr><td class="paramname">pinNum</td><td>Position of the pin bit-field within the port register</td></tr>
    <tr><td class="paramname">value</td><td>Pin drive strength trim. Options are detailed in <a class="el" href="group__group__gpio__drive_strength__trim.html">Pin drive strength trim</a> macros</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>void</dd></dl>
<dl class="section note"><dt>Note</dt><dd>This function modifies a port register in a read-modify-write operation. It is not thread safe as the resource is shared among multiple pins on a port. </dd></dl>

</div>
</div>
<a id="gad1af3b2d1ec5b218d30c355be3a42ed4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gad1af3b2d1ec5b218d30c355be3a42ed4">&#9670;&nbsp;</a></span>Cy_GPIO_GetDriveSelTrim()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t Cy_GPIO_GetDriveSelTrim </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_g_p_i_o___p_r_t___type.html">GPIO_PRT_Type</a> *&#160;</td>
          <td class="paramname"><em>base</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>pinNum</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Returns the pin output buffer drive select trim. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">base</td><td>Pointer to the pin's port register base address</td></tr>
    <tr><td class="paramname">pinNum</td><td>Position of the pin bit-field within the port register</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Pin drive select trim. Options are detailed in <a class="el" href="group__group__gpio__drive_strength__trim.html">Pin drive strength trim</a> macros </dd></dl>

</div>
</div>
<a id="gaaac989df7f0158c5b6549c86e5034479"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaaac989df7f0158c5b6549c86e5034479">&#9670;&nbsp;</a></span>Cy_GPIO_WritePort()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">__STATIC_INLINE void Cy_GPIO_WritePort </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_g_p_i_o___p_r_t___type.html">GPIO_PRT_Type</a> *&#160;</td>
          <td class="paramname"><em>base</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>value</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Write value to the whole GPIO port. </p>
<p>This function should be used only for software driven pins. It does not have any effect on peripheral driven pins.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">base</td><td>Pointer to the pin's port register base address</td></tr>
    <tr><td class="paramname">value</td><td>Logic level to drive out on the each pin of the selected port</td></tr>
  </table>
  </dd>
</dl>
<dl class="section user"><dt>Function Usage</dt><dd><div class="fragment"><div class="line"></div><div class="line">    uint32_t portState = 0x17UL;</div><div class="line"></div><div class="line">    <span class="comment">/* Quickly initialize pins on P0</span></div><div class="line"><span class="comment">     *</span></div><div class="line"><span class="comment">     * Cy_GPIO_Pin_FastInit(P0_0_PORT, P0_0_NUM, CY_GPIO_DM_STRONG, 1UL, P0_0_GPIO);</span></div><div class="line"><span class="comment">     * Cy_GPIO_Pin_FastInit(P0_1_PORT, P0_1_NUM, CY_GPIO_DM_STRONG, 1UL, P0_1_GPIO);</span></div><div class="line"><span class="comment">     * Cy_GPIO_Pin_FastInit(P0_2_PORT, P0_3_NUM, CY_GPIO_DM_STRONG, 1UL, P0_2_GPIO);</span></div><div class="line"><span class="comment">     * Cy_GPIO_Pin_FastInit(P0_3_PORT, P0_3_NUM, CY_GPIO_DM_STRONG, 1UL, P0_3_GPIO);</span></div><div class="line"><span class="comment">     *</span></div><div class="line"><span class="comment">    */</span></div><div class="line"></div><div class="line">    <span class="comment">/* Control P0 based on the portState variable</span></div><div class="line"><span class="comment">     * In current case when only the first 4 pins were configured, the Cy_GPIO_WritePort function will guarantee</span></div><div class="line"><span class="comment">     * that output values on P0.0 - P0.4 will have the same as in the portState variable.</span></div><div class="line"><span class="comment">     * For example, if portState = 0x17 values on pins will be as expected (&#39;0111&#39;), but if P0.5 wasn&#39;t</span></div><div class="line"><span class="comment">     * configured the value for this pin will not have any affect on the output.</span></div><div class="line"><span class="comment">    */</span></div><div class="line">    <a class="code" href="group__group__gpio__functions__gpio.html#gaaac989df7f0158c5b6549c86e5034479">Cy_GPIO_WritePort</a>(GPIO_PRT0, portState);</div><div class="line"></div></div><!-- fragment --></dd></dl>

</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part
<div id="nav-path" class="navpath">
    <ul>
        <li class="footer">
            Generated for <b>MTB CAT1 Peripheral driver library</b> by <b>Cypress Semiconductor Corporation</b>.
            All rights reserved.
        </li>
    </ul>
</div>
-->
</body>
</html>
